In relational database management systems (DBMSs), when a database must be recovered due to some problem or issue, the elapsed time for data recovery followed by the rebuild of indexes can be very long for large amounts of data, in some cases, many hours. During this recovery time period, the data from that database is completely unavailable and processing capability is reduced or eliminated for the processor(s) involved in the recovery process. Service Level Agreements (SLA) applicable in the banking, financial, retail, insurance and IT services industries, which define the maximum amount of time for data recovery, are extremely aggressive due to the nature of those businesses. Prolonged outages can lead to financial penalties and loss of business both for the database owner and the party responsible for SLA compliance (if different from the database owner).
Current database rebuilding processes are highly sequential and uses a buffer pool (also called a buffer cache), which is a portion of a main memory space allocated by the database manager to cache table and index data from the disk containing the database in order to reduce the amount of database input/output (I/O) and database data and index access time.
Thus, there is an ongoing technological need for an improvement to the way databases operate with respect to rebuilding the database when required.